package object;

public class Date {
    public int year;//成员变量是紫色的
    public int month;
    public int day;
//    public void setDate(int y,int m,int d){
//        year = y;
//        month = m;
//        day = y;
//    }
    //两种写法,参数名与成员变量名相同时,就用this加在前面,用来表示成员变量名
    public void setDate(int year,int month,int day){
       this.year = year;
       this.month = month;
       this.day = day;
    }
    //构造方法(用来完成初始化操作)
    //方法名必须和类名一致,不能有返回值
    //一般不需要手动调用,new对象时,编译器自动调用
    //就算不定义构造方法,也会自动生成一个无参数的默认的构造方法,确保new操作能正确执行(用户定义了其他的构造方法,编译器就不再生成)



    public Date(){
//        year = 2025;
//        month = 3;
//        day = 5;
        this(2025,3,5);//必须是第一个语句
        System.out.println("调用构造方法");//方法中调用其他方法(特殊情况)
        System.out.println(year + "-" + month + "-" + day);
    }
    //这两个参数不同,构成了方法重载
    public Date(int year,int month,int day){
        this.year = 2025;
        this.month = 3;
        this.day = 5;
        System.out.println("调用第二构造方法");
    }
    public void printDate(){
        System.out.println(year + "-" + month + "-" + day);
    }
//调用方法时用对象名.方法(参数),因为没有static
//有static时,就按方法(参数)这样来调用方法
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
//        date.setDate(2025,3,4);
//        date.printDate();
    }

}


